A Class Cohesion Metric For Object-Oriented Designs
نویسندگان
چکیده
Cohesion is a measure of relatedness or consistency in functionality of a software component. It is a highly desirably design characteristic because it measures separation of responsibilities, independence of components, and control of complexity. Cohesion has a significant effect on a design’s understandability, effectiveness and adaptability. An early evaluation of design components for cohesion can significantly improve the quality of a design, by helping identify and redesign components that have scattered functionality or inconsistencies and that are complex. In this article we present a new metric to evaluate cohesion among methods of a class early in the analysis and design phase. The metric evaluates the consistency (focus) of methods in a class’ interface using the parameter lists of the methods. This metric can be applied on class declarations that only contain method prototypes (method name and parameter types). The effectiveness of the metric is validated and demonstrated by correlating its results with existing measures of cohesion such as the Lack of Cohesion Among Methods Metric (LCOM) proposed by Chidamber and Kemerer and later interpreted by Li and Henry, which can be applied only after the implementation of methods of a class. Also, the metric is correlated with the cohesiveness evaluation of classes done by human experts.
منابع مشابه
A Design-Based Cohesion Metric for Object-Oriented Classes
Class cohesion is an important object-oriented software quality attribute. It indicates how much the members in a class are related. Assessing the class cohesion and improving the class quality accordingly during the object-oriented design phase allows for cheaper management of the later phases. In this paper, the notion of distance between pairs of methods and pairs of attribute types in a cla...
متن کاملA Design-Based Cohesion Metric for Object-Oriented Classes
Class cohesion is an important object-oriented software quality attribute. It indicates how much the members in a class are related. Assessing the class cohesion and improving the class quality accordingly during the object-oriented design phase allows for cheaper management of the later phases. In this paper, the notion of distance between pairs of methods and pairs of attribute types in a cla...
متن کاملOn Inter-Method and Intra-Method Object-Oriented Class Cohesion
Cohesion has been a topic of interest since structured design [20, 23] in the 1970’s. Today, there are numerous researchers continuing this work into object-oriented designs [1, 3, 5, 7, 9, 10, 12, 13, 16, 18, 19, 22]. Most of the current research has focused on the interaction of methods within a class, the inter-method cohesion. In this paper we consider both the inter-method cohesion and the...
متن کاملA New Class Cohesion Criterion:
Class cohesion is considered as one of important object-oriented software attributes. Cohesion refers to the degree of the relatedness of the members in a class. High cohesion is a desirable property of classes. Several metrics have been proposed in the literature in order to measure class cohesion in object-oriented systems. They capture class cohesion in terms of connections among members wit...
متن کاملImproving Object-Oriented Lack-of-Cohesion Metric by Excluding Special Methods
Classes are the basic units in object-oriented programs, and therefore, their quality has impact on the overall quality of the software. Class cohesion is a key quality factor, and it refers to the degree of relatedness of class attributes and methods. Software developers use class cohesion measure to assess the quality of their products and to guide the restructuring of poorly designed classes...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- JOOP
دوره 11 شماره
صفحات -
تاریخ انتشار 1999